package ar.com.mindset.geometrics
{
	import com.degrafa.GeometryGroup;
	
	import mx.collections.ArrayCollection;
	/**
	 * This class represents an object which knows how to paint each region
	 * 
	 * the Geometrics invokes the initialize method once with all the MapItem and regions data and then 
	 * it calls prepare once per region passing it by parameter
	 * 
	 * @author Sebastian D. Rosenbolt
	 */
	public class ColorScheme
	{
		/**
		 * make all the changes in the mapItem, making it ready to be drawn
		 */
		public function prepare(mapItem:MapItem, regionData:RegionData):void{
			throw new Error("Unimplemented method");
		}
		
		/**
		 * make internal processes or calculate by example the color gradient
		 * 
		 * @param regionDataCollection an ArrayCollection with all the regionsData
		 */
		public function initialize(regionDataCollection:ArrayCollection):void{
			//nothing to do by default
		}
		public function getLegend():GeometryGroup{
			//return nothing to show by default
			return new GeometryGroup();
		}
		public var valueProperty:String="regionValue";
	}
}